package com.zzb.date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;
import java.util.*;

public class Test {
    public static void main(String[] args) {
        Date date = new Date(456465646523L);
        Date date1 = new Date();


        DateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");//设置时间格式

        System.out.println(date);//打印时间

        try {
            Date date2 = df.parse("2023.4.5 15:56:45");
            System.out.println(date2);
        } catch (ParseException e) {
            e.printStackTrace();
        }


        System.out.println(df.format(new Date()));

        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
        LocalDateTime now = LocalDateTime.now();
        String format = dateTimeFormatter.format(now);
        System.out.println(format);


        TemporalAccessor parse = dateTimeFormatter.parse("2023年2月16日 下午04时29分53秒");
        System.out.println(parse);

        DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        String format1 = dateTimeFormatter1.format(now);
        System.out.println(format1);
        TemporalAccessor parse1 = dateTimeFormatter1.parse("2023-02-16 04:48:44");
        System.out.println(parse1);


    }
}

class Test1 {
    public static void main(String[] args) {
        // 通过多态的方式创建一个List集合对象
        List<String> list = new ArrayList<String>();

        // 添加元素
        list.add("itwanxi");
        list.add("itwx");
        list.add("万息科技");
        list.add("itwanxi");
        // 获取迭代器对象，通过迭代器对象对集合进行遍历
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            // 获取元素
            String next = it.next();
            // 判断元素
            if (next.equals("itwanxi")) {
                it.remove();
            }
        }
        System.out.println(list);
    }
}

class Test2 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "ab";
        String s3 = s2 + "c";
        String s4 = "a" + "b" + "c";
        System.out.println(s1 == s3);
        System.out.println(s1.equals(s3));
        System.out.println(s1 == s4);
        System.out.println(s3.length());
        char[] chars = s3.toCharArray();
        for(char c:chars){
            System.out.println(c);
        }
    }
}
class Test3{
    public static void main(String[] args) {
        String[] s = new String[3];
        System.out.println(s[0]);

    }
}


// 定义树节点类
class TreeNode {
    int id;
    int parentId;
    List<TreeNode> children;

    public TreeNode(int id, int parentId) {
        this.id = id;
        this.parentId = parentId;
        this.children = new ArrayList<>();
    }
    // 把list转化为树结构
    public List<TreeNode> listToTree(List<Integer[]> list) {
        // 用一个map存储每个节点的id和对应的树节点对象
        Map<Integer, TreeNode> map = new HashMap<>();
        for (Integer[] item : list) {
            int id = item[0];
            int parentId = item[1];
            map.put(id, new TreeNode(id, parentId));
        }

        // 用一个列表存储所有的根节点
        List<TreeNode> roots = new ArrayList<>();

        // 再次遍历list，对每个节点，如果它有parentId，就把它加入到父节点的children列表中；如果没有parentId，就把它作为根节点
        for (Integer[] item : list) {
            int id = item[0];
            int parentId = item[1];
            TreeNode node = map.get(id);
            if (parentId != -1) { // -1表示没有父节点
                TreeNode parent = map.get(parentId);
                parent.children.add(node);
            } else {
                roots.add(node);
            }
        }

        // 返回所有的根节点组成的列表
        return roots;
    }
}


